package zuochengyun;

//最大的leftMax与rightMax之差的绝对值
public class LeftMaxAndRighMax {

	//将一个数组分成左右两部分(左右两边最少需要有一个元素)
	//返回左边的最大值与右边的最大值之间的差
	public int maxABS(int[] arr){
		//首先找到最大值，无论怎么划分，该值都会是左边或者右边的最大值
		int max = Integer.MIN_VALUE;
		for (int i = 0; i < arr.length; i++) {
			max = Math.max(arr[i], max);
		}
		//找到最大值后，如果最大值在左边，那么只需让右边的最大值尽可能小，怎样才是最小呢，那就是最包含最右边的一个元素时
		//同理，如果在右边，只需让左边的最大值尽可能小，只包含第一个元素即可
		return max - Math.min(arr[0], arr[arr.length - 1]);
	}
}
